#include "STC8xxxx.h"#include "intrins.h"#define uchar unsigned char#define FOSC 24000000UL#define BRT (65536 - FOSC / 9600 / 4) //可以修改波特率9600sbit RS485DIR=P3^7; //RS485DIR=0为对外接收状态 RS485DIR=1为IC往外发送状态bit busy;char wptr;char rptr;char buffer[16];void Uart2Isr() interrupt 8{ if (S2CON & 0X02) // 发送中断标志判断,如果条件成立,即发送完成{ //00010010&00000010S2CON&=~0x02; // SCON=00010010&11111101=00010000清中断标志bit1:S2TI=0; busy = 0; // 给busy赋值0,后续判断,满足发送条件RS485DIR=0;}if(S2CON & 0x01); // 接收中断标志判断,如果条件成立,即接收完成{S2CON&=~0x01; // 清中断标志buffer[wptr ] = S2BUF; wptr &=0x0f; //清除wptr的高4位,低四位保留RS485DIR=1;}}
【文件目录】STC8H-485通信输出├── STC8xxxx.H
├── UART2.c
├── UART2.h
├── list
│ ├── RS485
│ ├── RS485.build_log.htm
│ ├── RS485.hex
│ ├── RS485.lnp
│ ├── RS485.m51
│ ├── UART2.lst
│ ├── daqiya
│ ├── daqiya.build_log.htm
│ ├── daqiya.hex
│ ├── daqiya.lnp
│ ├── daqiya.m51
│ ├── main.lst
│ └── main.obj
├── main.c
├── template.uvgui.wch15
├── template.uvopt
└── template.uvproj
1 directory, 20 files
评论